//////////////////////////////////////////////////////////////////////////

#ifndef _SERVER_H_
#define _SERVER_H_

//////////////////////////////////////////////////////////////////////////

#ifndef _OBSERVER_H_
#include "observer.h"
#endif

#ifndef _CONNECTION_H_
#include "connection.h"
#endif

#ifndef _BUFFER_H_
#include "buffer.h"
#endif

//////////////////////////////////////////////////////////////////////////


class Server : public Observer
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////


    /** Constructor */
    Server();


//////////////////////////////////////////////////////////////////////////


    /** Accept new clients */
    void Accept();


//////////////////////////////////////////////////////////////////////////


    /** Send response to clients */
    void SendResponse();


//////////////////////////////////////////////////////////////////////////

private:

//////////////////////////////////////////////////////////////////////////


    /** Observer interface implementation */
    virtual void OnEvent( Event _event, Observable* _observable );


    /** Connection */
    Connection m_Conn;


 //////////////////////////////////////////////////////////////////////////
};

#endif